package xiongwei.jiang.prop;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import xiongwei.jiang.service.impl.EhcacheServiceImpl;

/**
 * 缓存属性配置类
 *
 * @author 天之蓝
 */
@Data
@ConfigurationProperties(prefix = "ehcache")
public class EhcacheProperties {
    /**
     * JVM 堆内存中缓存 key 的数量（默认 32 个）
     */
    private Long heap;
    /**
     * 堆外缓存大小，必须小于磁盘缓存大小，单位：MB（默认 32 MB）
     */
    private Long offHeap;
    /**
     * 磁盘缓存目录（支持相对路径，默认 {@value EhcacheServiceImpl#DEFAULT_DISK_DIR}）
     */
    private String diskDir;
    /**
     * 磁盘缓存大小，单位：MB（默认 64 MB）
     */
    private Long disk;
    /**
     * 是否持久化到磁盘（默认：否）
     */
    private Boolean persistent;
    /**
     * 缓存过期时间，单位：秒（0-永不过期，默认 7200 秒）
     */
    private Long ttl;
}
